package aplicacion.modelo;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.Random;


public class PokeyCazador extends FantasmaCazador {
	
	public PokeyCazador(Pokey fantasma) {
		super(fantasma);
	}
	
	@Override
	public void actuar() {
		getFantasma().moverA(getCeldaAlAzar().getPosicion());
	}

	private Celda getCeldaAlAzar() {
		Iterator<Celda> iterador = getFantasma().getCeldasVecinas().iterator();
		ArrayList<Celda> celdas = new ArrayList<Celda>(4);
		Celda celda = null;
				
		while(iterador.hasNext()) {
			celdas.add(iterador.next());
		}
			
		Random generador = new Random();	
		do
		{
			celda = celdas.get(generador.nextInt(4));
		}
		// mientras que la celda este bloqueada o sea la celda anterior
		while(celda.estaBloqueada() || celda.getPosicion() == getFantasma().getPosicionAnterior());
			
		return celda;
	}
}
